/**  
 * Yang © 2014公司名字. All rights reserved.
 *
 * @Title: ChuFangAction.java
 * @Prject: web
 * @Package: yang.action
 * @Description: TODO
 * @author: Administrator  
 * @date: 2014年6月13日 上午9:11:42
 * @version: V1.0  
 */
package yang.action;

import org.apache.log4j.Logger;
import org.apache.struts2.convention.annotation.Action;
import org.springframework.beans.factory.annotation.Autowired;

import yang.pageModel.ChuFang;
import yang.pageModel.DataGrid;
import yang.pageModel.Json;
import yang.pageModel.User;
import yang.service.ChuFangServiceI;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ModelDriven;

/**
 * @ClassName: ChuFangAction
 * @Description:  处方的请求发送到这里
 * @author: Administrator
 * @date: 2014年6月13日 上午9:11:42
 */
@Action("chufangAction")
public class ChuFangAction extends BaseAction implements ModelDriven<ChuFang>{
	/**
	 * Logger for this class
	 */
	private static final Logger logger = Logger.getLogger(ChuFangAction.class);
	//模型驱动模型
	ChuFang chuFang=new ChuFang();
	private String q;//combobox传过来的参数
	private ChuFangServiceI chuFangService;//处方的服务
	/**
	 * 
	 * @Title: getChufangById
	 * @Description: 获取处方的详细信息
	 * @return: void
	 */
	public void getChufangById(){
		DataGrid grid=new DataGrid();
		try {
			grid=chuFangService.getChufangById(chuFang);
			logger.info("按ID查找处方成功");
		} catch (Exception e) {
			e.printStackTrace();
		}
		super.writeJson(grid);
	}
	/**
	 * 
	 * @Title: findDrugByQ
	 * @Description: 根据Q值查询药品
	 * @return: void
	 */
	public void findDrugByQ(){
		DataGrid grid=new DataGrid();
		try {
			grid=chuFangService.findByQ(q);
		} catch (Exception e) {
			e.printStackTrace();
		}
		logger.info(grid);
		super.writeJson(grid);
	}
	/**
	 * @Title: saveChuFang
	 * @Description: 保存一个新的处方
	 * @return: void
	 */
	public void saveChuFang(){		
		Json json=chuFangService.saveChuFang(chuFang);
		
		super.writeJson(json);
	}
	/**
	 * @Title: findAllChuFang
	 * @Description: 查询所有的处方
	 * @return: void
	 */
	public void findAllChuFang(){
		DataGrid grid = null;
		User user=(User)ActionContext.getContext().getSession().get("user");//获取当前登录角色
		if (user.getUserRole().equals("缴费")) {
			chuFang.setPatientType(2);
		}else if (user.getUserRole().equals("药房")) {
			chuFang.setPatientType(3);
		}
		try {
			grid = chuFangService.findAllChuFang(chuFang);
			logger.info("查找处方成功");
		} catch (Exception e) {
			e.printStackTrace();
			logger.info("查找处方失败");
		}
		super.writeJson(grid);
	}
	
	//------------ get set ----------
	/**
	 * @Title: getModel
	 * @Description: 模型驱动
	 * @return 模型
	 * @see com.opensymphony.xwork2.ModelDriven#getModel()
	 */
	@Override
	public ChuFang getModel() {
		return chuFang;
	}
	public ChuFangServiceI getChuFangService() {
		return chuFangService;
	}
	@Autowired
	public void setChuFangService(ChuFangServiceI chuFangService) {
		this.chuFangService = chuFangService;
	}
	
	public String getQ() {
		return q;
	}
	public void setQ(String q) {
		this.q = q;
	}
	
	
	
	
}
